The traditional notion of watching television at home has evolved into many different forms of viewing television content, on many different devices. For example, users can watch television content, such as live television, recorded television, and time-shifted programs and movies, on various devices. Television viewing devices include televisions, display devices, entertainment devices, computers, and even mobile devices, such as tablets and mobile phones. Streaming video content over HTTP to a client device is a common technique that utilizes a one-to-one connection between a content server and a client device. However, even if two different client devices are receiving the same video content (e.g., a television program or movie), two separate bit streams are distributed from the content server, which may over-utilize network bandwidth.
The content server may also generate multiple streams of the same video content, each having a different bitrate, for a broadcast of the video content to each of the client devices. A client device can then adaptively select the video content stream with a bitrate that is most suitable for download based on network capacity. For example, a client device connects to a server over a network and downloads segments (also referred to as “chunks”) of the video content that are listed in a manifest file. Based on network throughput, the client device can download the content segments having a bitrate that accommodates the current network throughput.